package pe.com.sisnic.seguros.model;

import java.beans.Transient;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class Credito implements Serializable{
	
	private static final long serialVersionUID = 1L;
	
	private Integer nroCredito;
	private String idCheque; //deberia ser boolean
	private Date fechaPrimerDesembolso;
	private Date fechaAprobacion;
	private Date fechaVencimiento;
	private Date fechaUltimoPagoInteresesVenc;
	private Double montoDesembolsado;
	private Double saldoCredito;
	private Double tasaInteres;
	private Integer numeroCuotas;
	private String modalidadCobro;
	private Empleado ejecutivo;
	private EstadoCredito estadoCredito;
	private Moneda moneda;
	private Periodicidad periodicidad;
	private TipoCredito tipoCredito;
	private List<PlanPago> planPagos;
	private List<Cargo> cargos;
	private Double tasaMoratorios;
	private Double baseCalculoMoratorios;
	private Integer graciaMora;
	
	private Double totalIntereses;
	private Double totalPrincipal;
	private Double totalMora;
	private Double totalComision;
	private Double totalPoliza;
	private Double totalCargos;	
	
	private Date fechaVencimientoMasAntigua;
	private Integer nroCuotasPendientes;
	private Integer nroCuotasNoVencidas;
	private Double interesPospuesto;
	private Double interesVencido;
	private Double montoInteresVencido;
	private Integer tipoCalendario;
	private Date fechaUltimaLiquidacion;	
			
	public Integer getTipoCalendario() {
		return tipoCalendario;
	}
	public void setTipoCalendario(Integer tipoCalendario) {
		this.tipoCalendario = tipoCalendario;
	}
	public Date getFechaUltimaLiquidacion() {
		return fechaUltimaLiquidacion;
	}
	public void setFechaUltimaLiquidacion(Date fechaUltimaLiquidacion) {
		this.fechaUltimaLiquidacion = fechaUltimaLiquidacion;
	}
	public Double getMontoInteresVencido() {
		return montoInteresVencido;
	}
	public void setMontoInteresVencido(Double montoInteresVencido) {
		this.montoInteresVencido = montoInteresVencido;
	}
	public Double getInteresPospuesto() {
		return interesPospuesto;
	}
	public void setInteresPospuesto(Double interesPospuesto) {
		this.interesPospuesto = interesPospuesto;
	}
	public Double getInteresVencido() {
		return interesVencido;
	}
	public void setInteresVencido(Double interesVencido) {
		this.interesVencido = interesVencido;
	}
	public List<Cargo> getCargos() {
		return cargos;
	}
	public void setCargos(List<Cargo> cargos) {
		this.cargos = cargos;
	}
	public Integer getNroCuotasNoVencidas() {
		return nroCuotasNoVencidas;
	}
	public void setNroCuotasNoVencidas(Integer nroCuotasNoVencidas) {
		this.nroCuotasNoVencidas = nroCuotasNoVencidas;
	}
	public Date getFechaVencimientoMasAntigua() {
		return fechaVencimientoMasAntigua;
	}
	public void setFechaVencimientoMasAntigua(Date fechaVencimientoMasAntigua) {
		this.fechaVencimientoMasAntigua = fechaVencimientoMasAntigua;
	}
	public Integer getNroCuotasPendientes() {
		return nroCuotasPendientes;
	}
	public void setNroCuotasPendientes(Integer nroCuotasPendientes) {
		this.nroCuotasPendientes = nroCuotasPendientes;
	}
	public Integer getGraciaMora() {
		return graciaMora;
	}
	public void setGraciaMora(Integer graciaMora) {
		this.graciaMora = graciaMora;
	}
	public Double getTasaMoratorios() {
		return tasaMoratorios;
	}
	public void setTasaMoratorios(Double tasaMoratorios) {
		this.tasaMoratorios = tasaMoratorios;
	}
	public Double getBaseCalculoMoratorios() {
		return baseCalculoMoratorios;
	}
	public void setBaseCalculoMoratorios(Double baseCalculoMoratorios) {
		this.baseCalculoMoratorios = baseCalculoMoratorios;
	}
	public List<PlanPago> getPlanPagos() {
		return planPagos;
	}
	public void setPlanPagos(List<PlanPago> planPagos) {
		this.planPagos = planPagos;
	}
	public Double getTotalIntereses() {
		return totalIntereses;
	}
	public void setTotalIntereses(Double totalIntereses) {
		this.totalIntereses = totalIntereses;
	}
	public Double getTotalPrincipal() {
		return totalPrincipal;
	}
	public void setTotalPrincipal(Double totalPrincipal) {
		this.totalPrincipal = totalPrincipal;
	}
	public Double getTotalMora() {
		return totalMora;
	}
	public void setTotalMora(Double totalMora) {
		this.totalMora = totalMora;
	}
	public Double getTotalComision() {
		return totalComision;
	}
	public void setTotalComision(Double totalComision) {
		this.totalComision = totalComision;
	}
	public Double getTotalPoliza() {
		return totalPoliza;
	}
	public void setTotalPoliza(Double totalPoliza) {
		this.totalPoliza = totalPoliza;
	}
	public Double getTotalCargos() {
		return totalCargos;
	}
	public void setTotalCargos(Double totalCargos) {
		this.totalCargos = totalCargos;
	}
	public Empleado getEjecutivo() {
		return ejecutivo;
	}
	public void setEjecutivo(Empleado ejecutivo) {
		this.ejecutivo = ejecutivo;
	}
	public EstadoCredito getEstadoCredito() {
		return estadoCredito;
	}
	public void setEstadoCredito(EstadoCredito estadoCredito) {
		this.estadoCredito = estadoCredito;
	}
	public Moneda getMoneda() {
		return moneda;
	}
	public void setMoneda(Moneda moneda) {
		this.moneda = moneda;
	}
	public Periodicidad getPeriodicidad() {
		return periodicidad;
	}
	public void setPeriodicidad(Periodicidad periodicidad) {
		this.periodicidad = periodicidad;
	}
	public TipoCredito getTipoCredito() {
		return tipoCredito;
	}
	public void setTipoCredito(TipoCredito tipoCredito) {
		this.tipoCredito = tipoCredito;
	}
	public Integer getNroCredito() {
		return nroCredito;
	}
	public void setNroCredito(Integer nroCredito) {
		this.nroCredito = nroCredito;
	}
	public String getIdCheque() {
		return idCheque;
	}
	public void setIdCheque(String idCheque) {
		this.idCheque = idCheque;
	}
	public Date getFechaPrimerDesembolso() {
		return fechaPrimerDesembolso;
	}
	public void setFechaPrimerDesembolso(Date fechaPrimerDesembolso) {
		this.fechaPrimerDesembolso = fechaPrimerDesembolso;
	}
	public Date getFechaAprobacion() {
		return fechaAprobacion;
	}
	public void setFechaAprobacion(Date fechaAprobacion) {
		this.fechaAprobacion = fechaAprobacion;
	}
	public Date getFechaVencimiento() {
		return fechaVencimiento;
	}
	public void setFechaVencimiento(Date fechaVencimiento) {
		this.fechaVencimiento = fechaVencimiento;
	}
	public Date getFechaUltimoPagoInteresesVenc() {
		return fechaUltimoPagoInteresesVenc;
	}
	public void setFechaUltimoPagoInteresesVenc(Date fechaUltimoPagoInteresesVenc) {
		this.fechaUltimoPagoInteresesVenc = fechaUltimoPagoInteresesVenc;
	}
	public Double getMontoDesembolsado() {
		return montoDesembolsado;
	}
	public void setMontoDesembolsado(Double montoDesembolsado) {
		this.montoDesembolsado = montoDesembolsado;
	}
	public Double getSaldoCredito() {
		return saldoCredito;
	}
	public void setSaldoCredito(Double saldoCredito) {
		this.saldoCredito = saldoCredito;
	}
	public Double getTasaInteres() {
		return tasaInteres;
	}
	public void setTasaInteres(Double tasaInteres) {
		this.tasaInteres = tasaInteres;
	}
	public Integer getNumeroCuotas() {
		return numeroCuotas;
	}
	public void setNumeroCuotas(Integer numeroCuotas) {
		this.numeroCuotas = numeroCuotas;
	}
	public String getModalidadCobro() {
		return modalidadCobro;
	}
	public void setModalidadCobro(String modalidadCobro) {
		this.modalidadCobro = modalidadCobro;
	}
	
	@Transient
	public Double getTotalAdeudado(){
		return totalCargos + totalComision + totalIntereses + totalMora + totalPoliza + totalPrincipal;
	}
}
